!% -SD !=== Constant Story "Colophon"; Constant Headline "^where stories end, where flowers bloom. ^by Akiva Leffert.^"; Include "Parser"; Include "VerbLib"; Include "Grammar"; !=== ! Classes Class Room has light; Class Prop with before [; Examine: return false; default: print_ret "You don't need to worry about ", (the) self, "."; ], has scenery; Class NPC with life [; Answer,Ask,Order,Tell: print_ret "Try talking to ", (the) self, "."; ], has animate; ! Objects Room lying_field "" with description "You awake lying in a grassy field of daffodils and tall sunflowers. You feel lightheaded and sore limbed. The sun caresses your bare face. You feel like you could just lie in the field forever. Maybe you can. And yet, somehow eternity seems to call you to stand and seize the day.", initial [; style bold; print "^** You have died. **"; style roman; ], before [; Exit: print "You stand, shaking a deep weariness from your limbs as you rise.^"; PlayerTo(standing_field); return true; ], cant_go "You do not feel like crawling or rolling anywhere. You should probably stand up."; Room standing_field "Field" with description "You are in a grassy field of daffodils and tall sunflowers. You feel lightheaded and sore limbed. The sun caresses your bare face. You see a path nearby, that appears to lead north to the city.", before [; Take: if(noun == daffodil) { if(IndirectlyContains(player, daffodil)) { print_ret "You feel like you've taken the life of enough daffodils."; } else { move daffodil to player; print_ret "You reach down and take a flower. It makes a satisfying pluck noise."; } } ], n_to road_side, cant_go "The field sure is pretty, but you don't feel like idly frolicking."; Object daffodil "daffodil" standing_field with description [; if(IndirectlyContains(player, self)) { if(self has worn) { "The daffodil looks snazzy in your button hole."; } else { "The daffodil is a vivid yellow. You can't help but think it would make an excellent boutonniere."; } } else { "The daffodils are a vivid yellow. You can't help but think one would make an excellent boutonniere."; } ], before [; Wear: give self worn; print_ret "The daffodil looks quite fashionable attached to the buttonhole of your left breast pocket."; ], name 'daffodil' 'daffodils' has clothing concealed; Prop sunflower "sunflowers" standing_field with description "The sunflowers stretch on as far as you can see.", name 'sunflower' 'sunflowers' 'flowers' 'flower', has pluralname; Prop path "path" standing_field with description "The dusty path leads north to the city.", name 'path' 'road' has pluralname; Room road_side "On the Road" with description "You stand on a wide dusty path leading north to the nearby city. A man sits on a rock by the side of the road, his head in his hands. The air smells faintly of ozone.", s_to standing_field, n_to outer_gates; NPC sad_man "man" road_side with description "The man sits on a rock by the side of the road. His head is his hands and you see his thick black hair shake in time with faint sobs.", name 'man', life [; Talk: print_ret "He looks up briefly. You can see the red in his eyes and the tears sliding down his cheeks. When he sees you, a wave of disappointment crosses his face and he puts his head back in his hands"; Give: if(noun == daffodil && IndirectlyContains(player, daffodil)) { if(daffodil has worn) { print_ret "Inspired by a noble idea, you try to offer the man the daffodil, but it is stuck in your buttonhole. You suspect he doesn't really want it."; } else { print_ret "You remove the daffodil from your pocket, look at it, and put it back in your pocket."; } } ] has proper concealed; Room outer_gates "Outer Gates" with description "You stand at the gates to a large walled city. A steady throng of people pour in and out. An ad-hoc marketplace of shacks and stalls hugs the walls to the east and west. To the north, lies the city itself. There is a large wrought iron sign above the open gates. It says, 'This Too Shall Pass.'", s_to road_side, e_to market_east;!, !w_to stands_west; Room market_east "Market East" with initial "Wandering through the marketplace, you come to stand in a small clearing. On one side stands a buxom woman in bright skirts outside a starry blue tent. She is clearly no longer young, but you are unable to determine her age. She glances at you briefly, as if trying to look without being noticed. You pretend not to notice. ^On the other side, you find the smoke and smell of a hot food stand. You realize that you're quite hungry.", description "You stand in a small clearing between a starry blue tent and a food stall.", w_to road_side; Prop astrologer_tent "tent" market_east with description "A blue tent covered with silvery star shaped patches in the shape.", name 'tent' 'blue' 'starry' has scenery; Prop food_stall "food stall" market_east with description "A smokey food stand. It smells delicious.", name 'stall' 'food' has scenery; !=== ! Entry point routines [ Initialise; location = lying_field;]; !=== Verbs [ TalkSub; if (noun == player) print_ret "Nothing you hear surprises you."; if (RunLife(noun,##Talk) ~= false) return; print_ret "At the moment, you can't think of anything to say."; ]; Verb 'talk' 't//' 'converse' 'chat' 'gossip' * 'to'/'with' creature -> Talk * creature -> Talk;